<?php

class RL_Principal_Auth_Common {
	
	/**
	 * Возможные коды ошибок и комментарии к ним:
	 * ВАЖНО: здесь должны приводится коды по всем методам авторизации 
	 * 0 - все ок
	 * 1 - пользователь отменил запрос на авторизацию
	 * 2 - Signature Verification Failed
	 * 3 - Open id сервер не найден 
	 * 4 - библиотека openid не может открыть сокет
	 * 5 - тайм-аут соединения через fsock
	 * 6 - ошибка из CURL
	 * 7 - 
	 * @return void
	 * @author Alexander Sibiryakov
	 **/
	private $error_code = NULL;
	private $error_description = NULL;
	
	/**
	 * Вызвать внутри метода авторизации, если произошла ошибка
	 *
	 * @param $code - код ошибки
	 * @param $description - описание ошибки
	 * @return void
	 * @author Alexander Sibiryakov
	 **/
	protected function error($code, $description) {
		$this->error_code = $code;
		$this->error_description = $description;
	}
	
	public function getError() {
		return array($this->error_code, $this->error_description);
	}
	
	public function getErrorRussianDescr() {
		switch ($this->error_code) {
			case 0:
			return NULL; //"Метод сработал успешно";
			case 1:
			return "Пользователь отменил запрос на авторизацию";
			case 2:
			return "Ошибка проверки цифровой подписи";
			case 3:
			return "Не найден openid сервер";
			case 4:
			return "Не возможно открыть сокет";
			case 5:
			return "Тайм-аут соединения истек.";
			case 6:
			return "Ошибка CURL";
			
		}
	}
	
}

